﻿using System;
using System.Data;
using VanTaiBLL;
using VanTaiProperty;
using System.Net.Mail;
namespace VanTaiTMS.Page
{
    public partial class SendMail : System.Web.UI.Page
    {
        #region[KhaiBao]
        private DataTable dtSendMail;
        private DataTable dtMailConfig;
        protected string StrAlertSendMail = "";
        clsBusiness_TMCommandTransferOrder clsSendMail = new clsBusiness_TMCommandTransferOrder();
        private TMMAIL_CONFIG_BusinessLogic clsMailConfig = new TMMAIL_CONFIG_BusinessLogic();
        #endregion

        #region[Controller]
        protected void Page_Load(object sender, EventArgs e)
        {
            lbTrangThaiDuyet.Visible = false;
            lbTrangThaiDuyet2.Visible = false;
            lbMailPhanCap1.Visible = false;
            lbMailPhanCap2.Visible = false;
            int id;
            if (Int32.TryParse(Request.Params["id"], out id))
            {
                if (!IsPostBack)
                {
                    LenhDieuDongDetail(int.Parse(Request.Params["id"].ToString()));
                    //Browser();
                }
            }
        }
        protected void cmdSendMail_Click(object sender, EventArgs e)
        {
            Browser();
        }
        protected void cmdHuy_Click(object sender, EventArgs e)
        {
            Response.Redirect("Default.aspx");
        }
        #endregion

        #region[Function]
        protected void LenhDieuDongDetail(int id)
        {
            dtSendMail = clsSendMail.BindGridTM_TMCommandTransferOrder_Detail_Edit(id);
            if (dtSendMail != null && dtSendMail.Rows.Count > 0)
            {
                //lbTrangThaiDuyet2.Text = dtSendMail.Rows[0]["DommandTransferOrder_Level_2"].ToString();
                lbTrangThaiDuyet.Text = dtSendMail.Rows[0]["DommandTransferOrder_Leadership"].ToString();
                lbMailPhanCap1.Text = dtSendMail.Rows[0]["REVIEW_LEVEL_1"].ToString();
                lbMailPhanCap2.Text = dtSendMail.Rows[0]["REVIEW_LEVEL_2"].ToString();
                //---------------------
                lbMaDieuDong.Text = dtSendMail.Rows[0]["DommandTransferOrder_ID"].ToString();
                lbNgayDieuDong.Text = String.Format("{0:dd-MM-yyyy}", dtSendMail.Rows[0]["DommandTransferOrder_Date"]);
                lbSoXe.Text = dtSendMail.Rows[0]["Vehicle_Number"].ToString();
                lbTaiXe.Text = dtSendMail.Rows[0]["FullNameMem"].ToString();
                lbNhomXe.Text = dtSendMail.Rows[0]["VehicleGroup_Name_Old"].ToString();
                lbKhachHang.Text = dtSendMail.Rows[0]["Customers_Name"].ToString();
                lbNoiNhanCont.Text = dtSendMail.Rows[0]["Delivery_Name_REQUEST_CONT"].ToString();
                lbNoiTraCont.Text = dtSendMail.Rows[0]["Delivery_Name_RESPONE_CONT"].ToString();
                lbNoiNhanHang.Text = dtSendMail.Rows[0]["Delivery_Name_REQUEST_STOCK"].ToString();
                lbNoiTraHang.Text = dtSendMail.Rows[0]["Delivery_Name_RESPONE_STOCK"].ToString();
            }
        }
        protected void UpdateTrangThaiDuyet()
        {
            VanTaiProperty.clsTMCommandTransferOrderProperty obj = new clsTMCommandTransferOrderProperty();
            obj.DommandTransferOrder_ID = int.Parse(lbMaDieuDong.Text);
            obj.DommandTransferOrder_Leadership = 1;
            VanTaiBLL.clsBusiness_TMCommandTransferOrder.UpdateTMCommandTransferOrdeStatusLeadership(obj);
            StrAlertSendMail += "<div class='alert alert-warning'>";
            StrAlertSendMail += "<a href='#' class='close' data-dismiss='alert'>&times;</a>";
            StrAlertSendMail += "Duyệt trạng thái thành công !";
            StrAlertSendMail += "</div>";
            LenhDieuDongDetail(int.Parse(Request.Params["id"].ToString()));
        }
       
        protected void Browser()
        {
            dtMailConfig = clsMailConfig.BindGridMail();
            if (dtMailConfig != null && dtMailConfig.Rows.Count > 0)
            {
                if (lbTrangThaiDuyet.Text == "0")
                {
                    //StrAlertSendMail += "<div class='alert alert-warning'>";
                    //StrAlertSendMail += "<a href='#' class='close' data-dismiss='alert'>&times;</a>";
                    //StrAlertSendMail += "Lệnh điều động chưa được xét duyệt !";
                    //StrAlertSendMail += "</div>";
                    UpdateTrangThaiDuyet();
                    SendMailLenhDieuDong(
                    lbMailPhanCap1.Text,
                    dtMailConfig.Rows[0]["TITILEMAIL"].ToString(),
                    lbMailPhanCap2.Text,
                    dtMailConfig.Rows[0]["CONTENTMAIL"].ToString() +
                    Environment.NewLine + Environment.NewLine +
                    Environment.NewLine + "Link xét duyệt" +
                    Environment.NewLine + dtMailConfig.Rows[0]["LINKACTIVE1"] + lbMaDieuDong.Text,
                    dtMailConfig.Rows[0]["TITILEMAIL"].ToString(),
                    dtMailConfig.Rows[0]["USERNAME"].ToString(),
                    dtMailConfig.Rows[0]["PASSWORDS"].ToString());
                }
                if (lbTrangThaiDuyet.Text == "1")
                {
                    //lbThongBaoLoi.Text = "Bạn đã xét duyệt cho nhân viên này rồi !";
                    StrAlertSendMail += "<div class='alert alert-warning'>";
                    StrAlertSendMail += "<a href='#' class='close' data-dismiss='alert'>&times;</a>";
                    StrAlertSendMail += "Lệnh điều động này đã đươc Trưởng Phòng xét duyệt !";
                    StrAlertSendMail += "</div>";
                }
                if (lbTrangThaiDuyet.Text == "2")
                {
                    //lbThongBaoLoi.Text = "Lệnh xét duyệt này đã được trưởng phòng và giám đốc thông qua !";
                    StrAlertSendMail += "<div class='alert alert-warning'>";
                    StrAlertSendMail += "<a href='#' class='close' data-dismiss='alert'>&times;</a>";
                    StrAlertSendMail += "Lệnh xét duyệt này đã được trưởng phòng và giám đốc thông qua !";
                    StrAlertSendMail += "</div>";
                }
            }
        }
        #endregion

        #region[SendMail]
        private void SendMailLenhDieuDong(string email_from, string titile_from, string from, string conten, string subject, string username, string password)
        {
            SmtpClient SmtpServer = new SmtpClient();
            SmtpServer.Credentials = new System.Net.NetworkCredential(username, password);
            SmtpServer.Port = 587;
            SmtpServer.Host = "smtp.gmail.com";
            SmtpServer.EnableSsl = true;
            MailMessage mail = new MailMessage();
            String[] addr = from.Split(',');
            try
            {
                mail.From = new MailAddress(email_from,
                titile_from, System.Text.Encoding.UTF8);
                Byte i;
                for (i = 0; i < addr.Length; i++)
                    mail.To.Add(addr[i]);

                mail.Subject = subject.ToString();
                mail.Body = conten.ToString();

                mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
                mail.ReplyToList.Add(new MailAddress(from));
                SmtpServer.Send(mail);
                //ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Hệ thống đã gửi thông tin xét duyệt vào mail của bạn ');", true);
                StrAlertSendMail += "<div class='alert alert-warning'>";
                StrAlertSendMail += "<a href='#' class='close' data-dismiss='alert'>&times;</a>";
                StrAlertSendMail += "Hệ thống đã gửi thông tin xét duyệt vào mail của " + lbMailPhanCap2.Text;
                StrAlertSendMail += "</div>";
            }
            catch (Exception ex)
            {
                //ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Có lỗi xảy ra trong quá trình gửi mail ');", true);
                //ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('" + ex.ToString() + "');", true);
                StrAlertSendMail += "<div class='alert alert-warning'>";
                StrAlertSendMail += "<a href='#' class='close' data-dismiss='alert'>&times;</a>";
                StrAlertSendMail += "Có lỗi xảy ra trong quá trình xét duyệt !";
                StrAlertSendMail += "</div>";

                StrAlertSendMail += "<div class='alert alert-warning'>";
                StrAlertSendMail += "<a href='#' class='close' data-dismiss='alert'>&times;</a>";
                StrAlertSendMail += ex.ToString();
                StrAlertSendMail += "</div>";
            }
        }
        #endregion
    }
}